package com.cww.study.swagger.model;

import java.io.Serializable;
import java.util.Objects;

/**
 * @program: myes
 * @description:
 * @author: 陈英俊
 * @create: 2021-09-10 10:36
 */
public class Request  implements Serializable {
    private String name;
    private String type;
    private String paramType;
    private Boolean require;
    private String remark;

    public Request() {
    }

    public String getName() {
        return this.name;
    }

    public String getType() {
        return this.type;
    }

    public String getParamType() {
        return this.paramType;
    }

    public Boolean getRequire() {
        return this.require;
    }

    public String getRemark() {
        return this.remark;
    }

    public void setName(final String name) {
        this.name = name;
    }

    public void setType(final String type) {
        this.type = type;
    }

    public void setParamType(final String paramType) {
        this.paramType = paramType;
    }

    public void setRequire(final Boolean require) {
        this.require = require;
    }

    public void setRemark(final String remark) {
        this.remark = remark;
    }

    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof Request)) {
            return false;
        } else {
            Request other = (Request)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label71: {
                    Object this$require = this.getRequire();
                    Object other$require = other.getRequire();
                    if (this$require == null) {
                        if (other$require == null) {
                            break label71;
                        }
                    } else if (this$require.equals(other$require)) {
                        break label71;
                    }

                    return false;
                }

                Object this$name = this.getName();
                Object other$name = other.getName();
                if (this$name == null) {
                    if (other$name != null) {
                        return false;
                    }
                } else if (!this$name.equals(other$name)) {
                    return false;
                }

                label57: {
                    Object this$type = this.getType();
                    Object other$type = other.getType();
                    if (this$type == null) {
                        if (other$type == null) {
                            break label57;
                        }
                    } else if (this$type.equals(other$type)) {
                        break label57;
                    }

                    return false;
                }

                Object this$paramType = this.getParamType();
                Object other$paramType = other.getParamType();
                if (this$paramType == null) {
                    if (other$paramType != null) {
                        return false;
                    }
                } else if (!this$paramType.equals(other$paramType)) {
                    return false;
                }

                Object this$remark = this.getRemark();
                Object other$remark = other.getRemark();
                if (this$remark == null) {
                    return other$remark == null;
                } else return this$remark.equals(other$remark);
            }
        }
    }

    protected boolean canEqual(final Object other) {
        return other instanceof Request;
    }

//    public int hashCode() {
//        int PRIME = true;
//        int result = 1;
//        Object $require = this.getRequire();
//        int result = result * 59 + ($require == null ? 43 : $require.hashCode());
//        Object $name = this.getName();
//        result = result * 59 + ($name == null ? 43 : $name.hashCode());
//        Object $type = this.getType();
//        result = result * 59 + ($type == null ? 43 : $type.hashCode());
//        Object $paramType = this.getParamType();
//        result = result * 59 + ($paramType == null ? 43 : $paramType.hashCode());
//        Object $remark = this.getRemark();
//        result = result * 59 + ($remark == null ? 43 : $remark.hashCode());
//        return result;
//    }


    @Override
    public int hashCode() {
        return Objects.hash(name, type, paramType, require, remark);
    }

    public String toString() {
        return "Request(name=" + this.getName() + ", type=" + this.getType() + ", paramType=" + this.getParamType() + ", require=" + this.getRequire() + ", remark=" + this.getRemark() + ")";
    }
}
